Enterprise software systems are used by large organizations to run complex mission-critical applications. A typical enterprise software system may use an application server, often in combination with other transaction processing and database components, to support large numbers of simultaneous users, applications, and transactions. Of increasing importance are enterprise systems that employ extreme transaction processing (XTP) to handle hundreds of thousands of simultaneous users, and perhaps millions of simultaneous transactions. Examples of XTP applications include online commerce, advanced business markets, global communications, and virtual world environments. Other enterprise systems have gradually moved away from legacy or silo-based applications toward a service oriented architecture (SOA).
Generally, application server products have been provided as one of two models: either an open source, freely available, collection of compatible products, such as open source Java J2EE products that can be assembled and configured to suit an enterprise' needs; or as a stack of products, such as Microsoft's .Net product, that bundles together a variety of components into a low cost stack. Whichever model is chosen, it is important for any enterprise that its software solution supports mission critical applications, and be reliable, scalable, highly-available, high performing, and easy to manage from the perspective of the system itself and the applications that will run thereon. The above approaches represent a compromise between the programming model and the enterprise-wide mission critical environment. However, neither approach is ideal in addressing both sides of this equation. This is the general area that embodiments of the present invention are designed to address.